#ifndef MOCHA_H
#define MOCHA_H
#include "espresso_based.h"
#include <iostream>

class Mocha : public EspressoBased
{
public:
    Mocha();
    Mocha(const Mocha& cap);
	
    ~Mocha() {
        std::cout << "Mocha destructor called" << std::endl;
        for(const auto& i : side_items)
            delete i;
        side_items.clear();
    };
    void operator=(const Mocha& cap);

    virtual std::string get_name();
    virtual double price();

    void add_side_item(Ingredient* side);
    std::vector<Ingredient*>& get_side_items();
private:
    std::vector<Ingredient*> side_items;
};
#endif // MOCHA_H